/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file    usart.h
  * @brief   This file contains all the function prototypes for
  *          the usart.c file
  ******************************************************************************
  * @attention
  *
  * Copyright (c) 2024 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  */
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __USART_H__
#define __USART_H__

#ifdef __cplusplus
extern "C" {
#endif

    /* Includes ------------------------------------------------------------------*/
#include "main.h"

    /* USER CODE BEGIN Includes */

    /* USER CODE END Includes */

    extern UART_HandleTypeDef huart1;

    /* USER CODE BEGIN Private defines */
    extern uint8_t rxBuffer[RX_BUFFER_SIZE];
    extern uint16_t RX_Length;
    /* USER CODE END Private defines */

    void MX_USART1_UART_Init(void);

    /* USER CODE BEGIN Prototypes */
    void USART_Send_String(const char *str);
    void ProcessReceivedData(uint8_t *data, uint16_t length);
    void UART_Transmit(uint8_t *ucData, uint8_t ucSize);
    uint8_t UART_Receive(uint8_t *ucData, uint8_t ucSize);
    /* USER CODE END Prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __USART_H__ */

